package com.sys.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sys.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 通知公告表 sys_notice
 *
 * @author LGY
 */
@Data
@Schema(description = "通知公告对象")
@TableName("sys_notice")
public class SysNotice extends BaseEntity implements Serializable {

    @Serial
    private static final long serialVersionUID = 5575380907065394755L;
    /**
     * 公告ID
     */
    @Schema(description = "公告ID")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 公告标题
     */
    @TableField(value = "notice_title")
    @Schema(description = "公告标题")
    private String noticeTitle;

    /**
     * 公告类型（1通知 2公告）
     */
    @TableField(value = "notice_type")
    private String noticeType;

    @TableField(value = "notice_user_type")
    private Integer noticeUserType;

    /**
     * 公告内容
     */
    @TableField(value = "notice_content")
    private String noticeContent;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    @TableField(exist = false)
    private String createByName;

    @TableField(exist = false)
    private List<String> noticeUserIds;

    @TableField(exist = false)
    private Integer hasLike;
}
